package model

import (
	"database/sql"
)

type TrackInfo struct {
	Id             int64          `gorm:"column:id"`               // ID
	UserId         sql.NullString `gorm:"column:user_id"`          // 用户id
	AlbumId        int64          `gorm:"column:album_id"`         // 专辑id
	TrackTitle     string         `gorm:"column:track_title"`      // 声音标题
	OrderNum       int64          `gorm:"column:order_num"`        // 声音在专辑中的排序值，从1开始依次递增，值越小排序越前
	TrackIntro     string         `gorm:"column:track_intro"`      // 声音简介
	TrackRichIntro string         `gorm:"column:track_rich_intro"` // 声音简介，富文本
	CoverUrl       string         `gorm:"column:cover_url"`        // 声音封面图url
	MediaDuration  float64        `gorm:"column:media_duration"`   // 声音媒体时长，单位秒
	MediaFileId    string         `gorm:"column:media_file_id"`    // 媒体文件的唯一标识
	MediaUrl       string         `gorm:"column:media_url"`        // 媒体播放地址
	MediaSize      int64          `gorm:"column:media_size"`       // 音频文件大小，单位字节
	MediaType      string         `gorm:"column:media_type"`       // 声音媒体类型
	Source         string         `gorm:"column:source"`           // 声音来源：0601-用户原创 0602-上传
	IsOpen         string         `gorm:"column:is_open"`          // 是否开放
	Status         string         `gorm:"column:status"`           // 声音状态 0501-审核通过 0502"-审核不通过
	CreateTime     string         `gorm:"column:create_time"`      // 创建时间
	UpdateTime     string         `gorm:"column:update_time"`
	IsDeleted      int64          `gorm:"column:is_deleted"`
}

func NewTrackInfo() *TrackInfo {
	return &TrackInfo{}
}
func (*TrackInfo) TableName() string {
	return "track_info"
}
